/**
 * @file
 * @author  Tsin Smith <tsin.creator@gmail.com>
 *
 * @section DESCRIPTION
 *
 */

#ifndef __TSIN_LIBRARY_BULLETEMERGINGDRESSER_HPP__
#define __TSIN_LIBRARY_BULLETEMERGINGDRESSER_HPP__

#include <tsin/library/common.hpp>
#include <tsin/library/BulletDresser.hpp>
#include <tsin/library/BuiltinImages.hpp>
#include <tsin/util/Resolution.hpp>

namespace tsin {

        class GameRuntime;
        class BulletRuntime;

        class LIBRARY_DLLEXPORT BulletEmergingDresser : public BulletDresser {
        public:
                BulletEmergingDresser();
                ~BulletEmergingDresser();

                virtual DynamicObject *copy();

                void init(ImageSeriesId series, BulletShape shape, BulletColor color, BlendStyle blendStyle = BLEND_DEFAULT);
                virtual void reinit();

                virtual void reset();
                virtual void dress(BulletRuntime *bullet);

        private:
                ImageSeriesId series;
                BulletShape shape;
                BulletColor color;
                BlendStyle blendStyle;
        };

}

#endif /* __TSIN_LIBRARY_BULLETEMERGINGDRESSER_HPP__ */
